package org.nlp.algo.feature.chi;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

/**
 * 文档对象。 多对多的表
 * @author kongxp
 * @since 2012-12-18
 * 
 */
public class TypeDocument {
	//key 类型   List<文章名称>
	Map<String,Set<String>> types = new HashMap<String,Set<String>>();
	
	//过去词该类型的文档数量
	public int getFiles(String type){
		if(types.get(type)==null){
			return 0;
		}
		return types.get(type).size();
	}
	
	public void addType(String type,String docname){
		if(types.get(type)==null){
			types.put(type, new HashSet<String>());
		}
		types.get(type).add(docname);
	}

	@Override
	public String toString() {
		return types.toString();
	}

	public int getOther(String type) {
		 Set<String> tempTypes = types.keySet();
		 int result  = 0;
		 for (String tempType : tempTypes) {
			if(!tempType.equals(type)){
				result+=types.get(tempType).size();
			}
		}
		return result;
	}
	
}
